package data.nanjing.expo.models.dao;

import data.nanjing.expo.models.domain.NotifyService;
import data.nanjing.expo.models.domain.SysConfig;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;

@Component
public interface NotifyServiceDao {

    public List<NotifyService> findNotifyByUserId(@Param("userId") int userId, @Param("notifyStatus") String notifyStatus,
                                                  @Param("pageStart") Integer pageStart, @Param("pageSize") Integer pageSize);

    public void addNotify(NotifyService notifyService);

    public void updateNotifyStatusAndReason(@Param("id") int id,
                                            @Param("sendStatus") String sendStatus,
                                            @Param("sendFailReason") String sendFailReason);

    public void updateNotifyStatus(@Param("id") int id,
                                   @Param("sendStatus") String sendStatus);

    public Integer findNotifyCountByUserId(@Param("userId") Integer userId, @Param("notifyStatus") String notifyStatus );

    public void updateNotifyStatusByIdAndUserId(@Param("notifyStatus") Integer notifyStatus, @Param("userId") Integer userId,
                                                @Param("notifyId") Integer notifyId);

    //查询未读消息数量
    public Integer selectNotifyCountByStatus(@Param("userId") Integer userId, @Param("notifyStatus") Integer notifyStatus);
}
